Python之路 - 属性方法,类方法,静态方法
属性方法 🍀
属性方法就是通过使用装饰器 @property
, 将一个方法变成一个静态属性 , 于是我们就可以通过访问属性 , 来或得一个方法的返回值
1 | from urllib.request import urlopen |
在property中为我们实现了三种方法 , get , set , delete
1 | class Foo: |
换一种写法看看
1 | class Foo: |
实际应用
1 | class Goods: |
类方法 🍀
类方法是通过@classmethod装饰器 , 将普通方法变成类方法 , 类方法只能与类属性交互 , 不能访问实例变量 , 并且默认有一个cls参数传进来表示本类
1 | class Person: |
_PS_:类方法中的默认参数可以改成self , 并不会改变结果 , 同样只能访问类变量 , 不能访问实例变量
静态方法 🍀
静态方法是通过@staticmethod装饰器将类中的方法变成一个静态方法
静态方法就像静态属性一样 , 在类中可以通过 self. 的方式进行调用 , 但是静态是不能够访问实例变量或类变量的 , 也就是说静态方法中的self已经跟本类没有关系了 , 它与本类唯一的关联就是需要通过类名来进行调用
1 | class Person: |
加上self , self只为一个普通参数而已
1 | class Person: |